package com.lcf.demo;

public class DoDemo1 {
//1. 定义类的格式?
//	public class 类名{
//		//属性
//		//行为
//	}
//
//2. 创建对象的格式?
//	类名 对象名 = new 类名(实际参数);
//
//3. 类和对象的关系?
//	类是一类事物的抽象
//	对象是此类事物的具体化
//
//4. 面向对象的三大特性和三大特点分别是什么?
//	特性: 封装,继承,多态
//	特点:
//		1. 更符合我们平时的思维习惯
//		2. 把复杂的问题简单化
//		3. 把我们从执行者变成指挥者
//
//5. 用什么来描述事物的属性? 成员变量
//
//6. 用什么来描述事物的行为? 成员方法
//
//7. private 关键字的含义和作用?
//	私有的访问权限修饰符
//	作用: 被private修饰的成员(成员变量/成员方法)只能在本类中使用
//
//8. this.变量名 是什么含义? 例如: this.age
//	强制访问本类成员位置上的变量 age. 打破变量访问的就近原则
//
//9. 变量访问就近原则中远近关系是怎么样的? 本类父类的成员位置 > 成员位置 > 局部位置
//
//10. 成员变量和局部变量的区别?
//	因为在类中的位置不同,变量的作用域不同,内存中位置不同.
//	因为在内存中的位置不同,变量的初始化值不同,生命周期不同.
//	IDEA颜色不同
//
//11. 快速生成getter and setter和构造方法的快捷键是什么?
//	getter and setter: alt + insert -> getter and setter  -> 全选
//	构造方法: alt + insert -> constructer
//			无参构造: select none
//			全参构造: ctrl + a -> ok
//
//12. new 一个对象发生了哪几件事情?
//	1. 创建了对象
//	2. 堆内存中开辟空间
//	3. 调用构造方法
//
//13. 构造方法的作用是什么? 格式是怎么样的?
//	构造方法的作用是什么:
//		1. 创建对象 2. 在创建对象的同时给成员变量赋值 3....
//	格式:
//		权限修饰符 类名(形式参数){
//			方法体;
//		}

//    1.面向过程和面向对象的区别。
//    以过程为中心，将问题分解为一系列的过程或步骤。
//      强调函数（函数是执行特定任务的代码块）的使用，数据和函数是分开的。
//     代码重用性较差，因为函数通常与特定的数据结构紧密相关。
//     维护和扩展较为困难，因为程序的各个部分可能高度依赖于特定的顺序和状态。
//     示例语言：C语言。
//
//   面向对象编程
//      以对象为中心，将数据和操作数据的方法封装在对象中。
//      强调类（Class）和对象（Object），类是创建对象的蓝图，对象是类的实例。
//      支持继承、封装和多态，这些特性提高了代码的重用性和灵活性。
//     更易于维护和扩展，因为对象可以独立于其他对象存在，且类的修改通常不会影响使用该类的其他部分。
//      示例语言：Java、C++、Python。
//


//2.构造方法的作用和特征
    //   作用：
//      用于初始化新创建的对象。
//      设置对象的初始状态，如给成员变量赋初始值。
//      可以重载，以提供不同的初始化方式。
//   特征：
//      方法名必须与类名相同。
//     没有返回类型，包括`void`。
//     当创建对象时自动调用，无需显式调用。
//     可以调用父类的构造方法（`super()`）来初始化继承的部分。
//     可以是`public`、`protected`、`private`或包访问权限。
//3.this关键字的作用和用法
//   引用当前对象：
//     在实例方法中，`this`引用调用该方法的对象。
//     用于区分成员变量和方法参数，特别是当它们同名时。
//   调用其他构造方法：
//      在构造方法中，可以使用`this()`调用同一个类中的另一个构造方法。
//   返回当前对：
//     在方法中，`this`可以作为返回值，返回当前对象的引用。
//   传递当前对象作为参数：
//      可以将`this`作为参数传递给其他方法。


//4.简述static关键字的作用。
//     修饰变量：
//      创建类变量（静态变量），属于类而不是类的实例。
//      所有实例共享同一个静态变量。
//      可以通过类名直接访问。
//    **修饰方法：
//      创建类方法，属于类而不是类的实例。
//      可以通过类名直接调用。
//      只能访问类的静态变量和其他静态方法。
//    修饰代码块：
//      静态代码块用于初始化静态变量。
//      在类第一次被加载到JVM时执行。
//   修饰内部类：
//      创建静态内部类，它不是外部类的成员，可以独立于外部类存在。
//      静态内部类可以有静态字段和静态方法，也可以被其他类继承。
//提示：从static可以修饰变量，方法，代码块，内部类四个方面来回答。

}
